<!DOCTYPE html>
<html>
<head>
    <title>商品信息</title>
    <meta charset="utf-8">
    <!-- 指定以IE8的方式来渲染 -->
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
    <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
    <link rel="stylesheet" href="/js/bootstrap/css/bootstrap.min.css">
    <link type="text/css" rel="stylesheet" href="/css/jsherp.css"/>
    <script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
    <link rel="stylesheet" type="text/css" href="/js/easyui/themes/default/easyui.css"/>
    <link rel="stylesheet" type="text/css" href="/js/easyui/themes/icon.css"/>
    <link type="text/css" rel="stylesheet" href="/css/common.css"/>
    <link type="text/css" rel="stylesheet" href="/css/material.css"/>
    <script type="text/javascript" src="/js/easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="/js/easyui/locale/easyui-lang-zh_CN.js"></script>
    <script type="text/javascript" src="/js/easyui/datagrid-dnd.js"></script>
    <script src="/js/handlebars.js"></script>
    <script type="text/javascript" src="/js/common/outlook_in.js"></script>
    <script type="text/javascript" src="/js/common/common.js"></script>
    <script src="/js/common/jsherp.js"></script>
</head>
<body>
<!-- 数据显示table -->
<div id="tablePanel" class="easyui-panel" data-options="fit:true" style="padding:1px;top:300px;" title="商品列表" iconCls="icon-list">
    <div class="box-body form-inline">
        <div class="form-group">
            <label class="control-label">类别：</label>
            <div class="control-inline">
                <input name="searchParentName" id="searchParentName" class="easyui-textbox" style="width: 100px;" readonly="readonly"/>
                <a href="javascript:void(0)" class="l-btn l-btn-plain" group="" style="height: 25px;" id="lookForSelectMaterialCategory">
                    <span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left" style="height: 20px"></span></span></a>
                <input name="searchParentId" id="searchParentId" type="hidden"/>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label">品名：</label>
            <div class="control-inline">
                <input type="text" id="searchName" name="searchName" value="" maxlength="100" class="easyui-textbox width-90"/>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label">规格：</label>
            <div class="control-inline">
                <input type="text" id="searchStandard" name="searchStandard" value="" maxlength="100" class="easyui-textbox width-90"/>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label">型号：</label>
            <div class="control-inline">
                <input type="text" id="searchModel" name="searchModel" value="" maxlength="100" class="easyui-textbox width-90"/>
            </div>
        </div>
        <div class="form-group">
            <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>&nbsp;
            <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
        </div>
    </div>
    <table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>

<div id="materialDetailListDlg" class="easyui-dialog" style="width:900px;height:520px;padding:10px 20px" closed="true"
     modal="true" collapsible="false" closable="true">
    <table id="materialTableData" style="top:50px;border-bottom-color:#FFFFFF"></table>
</div>

<div id="materialDlg" class="easyui-dialog" style="padding:10px 20px" fit="true"
     closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
    <form id="materialFM" method="post" novalidate>
        <div id="tt" class="easyui-tabs" style="width:100%;height:520px;">
            <div title="基本信息" style="padding:20px;">
                <table width="100%" style="min-width:1150px;">
                    <tr>
                        <td style="width:60px; height:30px;">品名</td>
                        <td style="padding:5px;width:250px;">
                            <input name="Name" id="Name" class="easyui-textbox"
                                   data-options="required:true,validType:'length[1,30]'"
                                   style="width: 180px;"/>
                        </td>
                        <td style="width:60px;">规格</td>
                        <td style="padding:5px;width:250px;">
                            <input name="Standard" id="Standard"
                                   data-options="validType:'length[1,30]'" style="width: 180px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                        <td style="width:60px;">单位</td>
                        <td style="padding:5px;width:250px;">
                            <input name="Unit" id="Unit"
                                   data-options="validType:'length[1,30]'" style="width: 180px;height: 30px;border: 1px solid #95B8E7;border-radius:5px;"/>
                            <select name="manyUnit" id="manyUnit"
                                    style="width:180px;display: none;height: 30px;border: 1px solid #95B8E7;border-radius:5px;"></select>
                            <input id="manyUnitCheck" type="checkbox"/>多单位
                        </td>
                        <td style="width:250px"></td>
                    </tr>
                    <tr>
                        <td style="width:60px;">型号</td>
                        <td style="padding:5px;">
                            <input name="Model" id="Model" class="easyui-textbox"
                                   data-options="validType:'length[1,30]'" style="width: 180px;"/>
                        </td>
                        <td style="height:30px;">颜色</td>
                        <td style="padding:5px">
                            <input name="Color" id="Color"
                                   data-options="validType:'length[1,30]'" style="width: 180px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                        <td style="height:30px;">类别</td>
                        <td style="padding:5px">
                            <input name="parentName" id="parentName" class="easyui-textbox" style="width: 180px;" readonly="readonly"/>
                            <a href="javascript:void(0)" class="l-btn l-btn-plain" group="" id="lookForMaterialCategory">
                                <span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left" style="height: 20px;"></span></span></a>
                            <input name="parentid" id="parentid" type="hidden"/>
                        </td>
                        <td style="text-align: left;"></td>
                    </tr>
                    <tr>
                        <td style="width:60px;">序列号</td>
                        <td style="padding:5px;">
                            <select name="EnableSerialNumber" id="EnableSerialNumber"
                                    style="width:180px;height: 30px;border: 1px solid #95B8E7;border-radius:5px;">
                                <option value="1">有</option>
                                <option value="0">无</option>
                            </select>
                        </td>
                        <td style="height:30px;">安全存量</td>
                        <td style="padding:5px">
                            <input name="SafetyStock" id="SafetyStock" class="easyui-textbox"
                                   data-options="validType:'length[1,30]'" style="width: 180px;"/>
                        </td>
                        <td style="height:30px;"></td>
                        <td style="padding:5px"></td>
                        <td style="text-align: left;"></td>
                    </tr>
                    <tr>
                        <td colspan="7" style="padding:5px 20px 10px 0; width: 1200px">
                            <table id="materialExtendData" style="width:1200px;border-bottom-color:#FFFFFF"></table>
                        </td>
                    </tr>
                    <tr>
                        <td style="height:30px;">备注</td>
                        <td style="padding:5px 20px 5px 5px" colspan="6">
                            <textarea name="Remark" id="Remark" class="easyui-textbox" data-options="multiline:true" placeholder="暂无备注信息"
                                      style="width: 1130px; height:40px;"></textarea>
                        </td>
                    </tr>
                </table>
            </div>
            <div title="扩展信息" style="padding:20px;">
                <table class="tb-other-info">
                    <tr class="tr-mfrs">
                        <td style="width:80px;">制造商</td>
                        <td style="padding:5px">
                            <input name="Mfrs" id="Mfrs"
                                   data-options="validType:'length[1,30]'" style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                    <tr class="tr-otherField1">
                        <td>自定义1</td>
                        <td style="padding:5px">
                            <input name="OtherField1" id="OtherField1"
                                   data-options="validType:'length[1,30]'" style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                    <tr class="tr-otherField2">
                        <td>自定义2</td>
                        <td style="padding:5px">
                            <input name="OtherField2" id="OtherField2"
                                   data-options="validType:'length[1,30]'" style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                    <tr class="tr-otherField3">
                        <td>自定义3</td>
                        <td style="padding:5px">
                            <input name="OtherField3" id="OtherField3"
                                   data-options="validType:'length[1,30]'"
                                   style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
                        </td>
                    </tr>
                </table>
            </div>
            <div title="初始库存" style="padding:20px;">
                <div id="initDepot"></div>
            </div>
        </div>
    </form>
</div>
<div id="dlg-buttons">
    <a href="javascript:void(0)" id="saveMaterial" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
    <a href="javascript:void(0)" id="cancelMaterial" class="easyui-linkbutton" iconCls="icon-cancel"
       onclick="javascript:$('#materialDlg').dialog('close')">取消</a>
</div>

<!-- 导入excel表格 -->
<div id="importExcelDlg" class="easyui-dialog" style="width:450px; padding:10px 20px;"
     closed="true" buttons="#dlg-buttons5" modal="true" collapsible="false" closable="true">
    <form id="importExcelFM" method="post" enctype="multipart/form-data" action="/material/importExcel">
        <table>
            <tr>
                <td style="width:80px;">表格模板</td>
                <td style="padding:5px">
                    <span><a href="/upload/excels/goods_template.xls"><b>Excel模板下载</b></a></span>
                </td>
            </tr>
            <tr>
                <td>文件名称</td>
                <td style="padding:5px">
                    <input name="materialFile" id="materialFile" type="file" style="width: 230px;"/>
                </td>
            </tr>
        </table>
    </form>
</div>
<div id="dlg-buttons5">
    <a href="javascript:void(0)" id="saveimport" class="easyui-linkbutton" iconCls="icon-ok">导入</a>
    <a href="javascript:void(0)" id="cancelimport" class="easyui-linkbutton" iconCls="icon-cancel"
       onclick="javascript:$('#importExcelDlg').dialog('close')">取消</a>
</div>

<div id="forSelectMaterialCategoryDlg" class="easyui-dialog" style="width:380px;padding:10px 20px;top:50px;"
     closed="true" modal="true" cache="false" collapsible="false" closable="true">
</div>
    <script type="text/javascript">
        var editIndex = undefined;
        var materialCategoryList = null;
        var types = "";
        var multiple = 0;  //倍数
        var mPropertyList = null; //商品属性列表
        var mPropertyListShort = ""; //商品属性列表-传值
        var clickType = ""; //记录从哪里点击的类别弹窗
        var maxBarCode = getMaxBarCode(); //获取当前最大条码
        var thisBarCode = maxBarCode; //全局商品条码
        //初始化界面
        $(function () {
            //初始化系统基础信息
            initMProperty();
            manyUnitFun();
            priceKeyUp();//价格触发事件
            initMPropertyShort(); //初始化商品属性
            initTableData();
            ininPager();
            initForm();
            bindEvent();
        });

        //初始化系统基础信息
        function initMProperty() {
            $.ajax({
                type: "get",
                url: "/materialProperty/list",
                dataType: "json",
                data: ({
                    currentPage: 1,
                    pageSize: 100
                }),
                success: function (res) {
                    if(res && res.code === 200){
                        if(res.data && res.data.page) {
                            mPropertyList = res.data.page.rows; //属性列表
                        }
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('查询提示', '查询信息异常，请稍后再试！', 'error');
                    return;
                }
            });
        }

        function initMCData(parentid_search) {
            $.ajax({
                type: "get",
                url: "/materialCategory/getAllList",
                data: ({
                    parentId: parentid_search
                }),
                //设置为同步
                async: false,
                dataType: "json",
                success: function (res) {
                    if(res && res.code === 200){
                        materialCategoryList = res.data;
                        if (materialCategoryList != null) {
                            options = "";
                            for (var i = 0; i < materialCategoryList.length; i++) {
                                var materialCategory = materialCategoryList[i];
                                types += materialCategory.id + ',';
                            }
                            types += parentid_search;
                        } else {
                            types = parentid_search;
                        }
                    } else {
                        $.messager.alert('提示', '查找系统基础信息异常,请与管理员联系！', 'error');
                        return;
                    }
                }
            });
        }

        //防止表单提交重复
        function initForm() {
            $('#materialFM').form({
                onSubmit: function () {
                    return false;
                }
            });
        }

        //多单位勾选
        function manyUnitFun() {
            $("#manyUnitCheck").off("click").on("click", function () {
                if ($(this).prop("checked") == true) {
                    //当前为选中状态
                    $("#Unit").hide();
                    $("#manyUnit").show();

                    $("#Unit").val(""); //清除单位的填写内容
                    $("#RetailPrice").val("");
                    $("#LowPrice").val("");
                    $("#PresetPriceOne").val("");
                    $("#PresetPriceTwo").val("");
                }
                else {
                    //当前为不选中状态
                    $("#Unit").show();
                    $("#manyUnit").hide();

                    $("#manyUnit").val(""); //清除多单位的下拉框
                    $("#FirstOutUnit").val("");
                    $("#FirstInUnit").val("");
                    $("#basicUnit").text("");
                    $("#basicRetailPrice").val("");
                    $("#basicLowPrice").val("");
                    $("#basicPresetPriceOne").val("");
                    $("#basicPresetPriceTwo").val("");
                    $("#otherUnit").text("");
                    $("#otherRetailPrice").val("");
                    $("#otherLowPrice").val("");
                    $("#otherPresetPriceOne").val("");
                    $("#otherPresetPriceTwo").val("");

                }
            });
        }

        //价格触发事件
        function priceKeyUp() {
            $("#basicRetailPrice").off("keyup").on("keyup", function () {
                if (multiple) {
                    $("#otherRetailPrice").val($(this).val() * multiple);
                }
            });
            $("#basicLowPrice").off("keyup").on("keyup", function () {
                if (multiple) {
                    $("#otherLowPrice").val($(this).val() * multiple);
                }
            });
            $("#basicPresetPriceOne").off("keyup").on("keyup", function () {
                if (multiple) {
                    $("#otherPresetPriceOne").val($(this).val() * multiple);
                }
            });
            $("#basicPresetPriceTwo").off("keyup").on("keyup", function () {
                if (multiple) {
                    $("#otherPresetPriceTwo").val($(this).val() * multiple);
                }
            });
        }

        //初始化商品属性
        function initMPropertyShort() {
            $.ajax({
                type: "get",
                url: "/materialProperty/list",
                dataType: "json",
                async: false,
                data: ({
                    currentPage: 1,
                    pageSize: 100
                }),
                success: function (res) {
                    if(res && res.code === 200){
                        if(res.data && res.data.page) {
                            var thisRows = res.data.page.rows; //属性列表
                            for (var i = 0; i < thisRows.length; i++) {
                                if (thisRows[i].enabled) {
                                    mPropertyListShort += thisRows[i].nativename + ",";
                                }
                            }
                            if (mPropertyListShort) {
                                mPropertyListShort = mPropertyListShort.substring(0, mPropertyListShort.length - 1);
                            }
                        }
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('查询提示', '查询信息异常，请稍后再试！', 'error');
                    return;
                }
            });
        }

        //价格转换
        function parsePrice(value, rec, type) {
            var res = "";
            if(rec.unit) {
                res = value;
            } else {
                var ps = rec.pricestrategy;
                if(ps) {
                    var arr = JSON.parse(ps);
                    var basic = "";
                    if(type == "lowprice") {
                        basic = arr[0].basic.LowPrice;
                    } else if(type == "presetpriceone") {
                        basic = arr[0].basic.PresetPriceOne;
                    } else if(type == "presetpricetwo") {
                        basic = arr[0].basic.PresetPriceTwo;
                    } else if(type == "retailprice") {
                        basic = arr[0].basic.RetailPrice;
                    }
                    res = basic;
                }
            }
            return res;
        }

        //初始化表格数据
        function initTableData() {
            //改变宽度和高度
            $("#searchPanel").panel({width: webW - 2});
            $("#tablePanel").panel({width: webW - 2});
            $('#tableData').datagrid({
                //title:'商品列表',
                //iconCls:'icon-save',
                //width:700,
                height: heightInfo,
                nowrap: false,
                rownumbers: false,
                //动画效果
                animate: false,
                //选中单行
                singleSelect: true,
                collapsible: false,
                selectOnCheck: false,
                //fitColumns:true,
                //单击行是否选中
                //checkOnSelect : false,
                pagination: true,
                //交替出现背景
                striped: true,
                //loadFilter: pagerFilter,
                pageSize: initPageSize,
                pageList: initPageNum,
                columns: [[
                    {field: 'id', width: 35, align: "center", checkbox: true},
                    {
                        title: '操作', field: 'op', align: "center", width: 60, formatter: function (value, rec, index) {
                            var str = '';
                            str += '<img title="编辑" src="/js/easyui/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterial(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
                            str += '<img title="删除" src="/js/easyui/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteMaterial(' + rec.id + ');"/>';
                            return str;
                        }
                    },
                    {title: '品名', field: 'name', width: 120},
                    {title: '规格', field: 'standard', width: 80},
                    {title: '型号', field: 'model', width: 80},
                    {title: '类别', field: 'categoryName', width: 80},
                    {title: '扩展信息', field: 'materialOther', width: 150},
                    {title: '单位', field: 'unit', width: 100,
                        formatter: function (value, rec) {
                            if(value) {
                                return value;
                            } else {
                                return rec.unitName;
                            }
                        }
                    },
                    {title: '安全存量', field: 'safetystock', width: 70},
                    {
                        title: '库存', field: 'stock', width: 70, formatter: function (value, rec) {
                            var str = '';
                            str += '<span title="查看出入库明细" class="n-link" onclick="findStockList(' + rec.id + ');">' + rec.stock + '</span>';
                            return str;
                        }
                    },
                    {title: '采购价', field: 'purchaseDecimal', width: 70},
                    {title: '零售价', field: 'commodityDecimal', width: 70},
                    {title: '销售价', field: 'wholesaleDecimal', width: 70},
                    {title: '最低售价', field: 'lowDecimal', width: 70},
                    {
                        title: '状态', field: 'enabled', width: 50, align: "center", formatter: function (value) {
                            return value ? "<span style='color:green'>启用</span>" : "<span style='color:red'>禁用</span>";
                        }
                    },
                    {
                        title: '序列号', field: 'enableserialnumber', width: 70, align: "center", formatter: function (value) {
                            return value=='1' ? "<span style='color:green'>有</span>" : "无";
                        }
                    }
                ]],
                toolbar: [
                    {
                        id: 'addMaterial',
                        text: '增加',
                        iconCls: 'icon-add',
                        handler: function () {
                            addMaterial();
                        }
                    },
                    '-',
                    {
                        id: 'deleteMaterial',
                        text: '删除',
                        iconCls: 'icon-remove',
                        handler: function () {
                            batDeleteMaterial();
                        }
                    },
                    '-',
                    {
                        id: 'setEnable',
                        text: '启用',
                        iconCls: 'icon-ok',
                        handler: function () {
                            setEnableFun();
                        }
                    },
                    '-',
                    {
                        id: 'setDisEnable',
                        text: '禁用',
                        iconCls: 'icon-no',
                        handler: function () {
                            setDisEnableFun();
                        }
                    },
                    '-',
                    {
                        id: 'setInput',
                        text: '导入',
                        iconCls: 'icon-excel',
                        handler: function () {
                            setInputFun();
                        }
                    },
                    '-',
                    {
                        id: 'setOutput',
                        text: '导出',
                        iconCls: 'icon-excel',
                        handler: function () {
                            setOutputFun();
                        }
                    }
                ],
                onLoadError: function () {
                    $.messager.alert('页面加载提示', '页面加载异常，请稍后再试！', 'error');
                    return;
                }
            });
            dgResize();
            showMaterialDetails(1, initPageSize);
        }

        //初始化表格数据
        function initMaterialDetailData(mId) {
            $('#materialTableData').datagrid({
                height: heightInfo-50,
                nowrap: false,
                rownumbers: false,
                //动画效果
                animate: false,
                //选中单行
                singleSelect: true,
                collapsible: false,
                selectOnCheck: false,
                //单击行是否选中
                checkOnSelect: false,
                //交替出现背景
                striped: true,
                pagination: true,
                pageSize: initPageSize,
                pageList: initPageNum,
                columns: [[
                    {
                        title: '单据编号', field: 'Number', width: 150,
                        formatter: function (value, row) {
                            return '<a class="n-link" onclick="turnBillDetailPage(\'' + row.Number + '\''+',\'' + row.Type + '\');">' + row.Number + '</a>';
                        }
                    },
                    {title: '类型', field: 'Type', width: 100},
                    {title: '数量', field: 'BasicNumber', width: 80},
                    {title: '日期', field: 'OperTime', width: 180, formatter: function (value) {
                            return formatTime(value, 'Y-M-D h:m:s');
                    }}
                ]],
                onLoadError: function () {
                    $.messager.alert('页面加载提示', '页面加载异常，请稍后再试！', 'error');
                    return;
                }
            });
        }

        //分页信息处理
        function ininMaterialDetailPager(mId) {
            try {
                var opts = $("#materialTableData").datagrid('options');
                var pager = $("#materialTableData").datagrid('getPager');
                pager.pagination({
                    onSelectPage: function (pageNum, pageSize) {
                        opts.pageNumber = pageNum;
                        opts.pageSize = pageSize;
                        pager.pagination('refresh', {
                            pageNumber: pageNum,
                            pageSize: pageSize
                        });
                        getMaterialInOutList(mId, pageNum, pageSize);
                    }
                });
            }
            catch (e) {
                $.messager.alert('异常处理提示', "分页信息异常 :  " + e.name + ": " + e.message, 'error');
            }
        }

        function getMaterialInOutList(mId, pageNo, pageSize) {
            $.ajax({
                type: "get",
                url: "/depotItem/findDetailByTypeAndMaterialId",
                dataType: "json",
                data: ({
                    materialId: mId,
                    currentPage: pageNo,
                    pageSize: pageSize
                }),
                success: function (res) {
                    if(res && res.code === 200){
                        if(res.data && res.data.page) {
                            $("#materialTableData").datagrid('loadData', res.data.page);
                        }
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
                    return;
                }
            });
        }

        //初始化键盘enter事件
        $(document).keydown(function (event) {
            //兼容 IE和firefox 事件
            var e = window.event || event;
            var k = e.keyCode || e.which || e.charCode;
            //兼容 IE,firefox 兼容
            var obj = e.srcElement ? e.srcElement : e.target;
            //绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
            if (k == "13" && (obj.id == "CategoryLevel" || obj.id == "Name")) {
                $("#saveMaterial").click();
            }
            //搜索按钮添加快捷键
            if (k == "13" && (obj.id == "searchCategoryId" || (obj.id == "searchName"))) {
                $("#searchBtn").click();
            }
        });

        //分页信息处理
        function ininPager() {
            try {
                var opts = $("#tableData").datagrid('options');
                var pager = $("#tableData").datagrid('getPager');
                pager.pagination({
                    onSelectPage: function (pageNum, pageSize) {
                        opts.pageNumber = pageNum;
                        opts.pageSize = pageSize;
                        pager.pagination('refresh',
                            {
                                pageNumber: pageNum,
                                pageSize: pageSize
                            });
                        showMaterialDetails(pageNum, pageSize);
                    }
                });
            }
            catch (e) {
                $.messager.alert('异常处理提示', "分页信息异常 :  " + e.name + ": " + e.message, 'error');
            }
        }

        function findStockList(mId) {
            $('#materialDetailListDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;查看出入库明细');
            $(".window-mask").css({width: webW, height: webH});
            initMaterialDetailData(mId);
            getMaterialInOutList(mId, 1, initPageSize);
            ininMaterialDetailPager(mId);
        }

        //删除商品信息
        function deleteMaterial(materialID) {
            $.messager.confirm('删除确认', '确定要删除此商品信息吗？', function (r) {
                if (r) {
                    $.ajax({
                        type: "post",
                        url: "/material/batchDeleteMaterialByIds",
                        dataType: "json",
                        data: ({
                            ids: materialID
                        }),
                        success: function (res) {
                            if(res && res.code == 200) {
                                $("#searchBtn").click();
                            } else {
                                if(res && res.code == 601){
                                    var jsondata={};
                                    jsondata.ids=materialID;
                                    jsondata.deleteType='2';
                                    var type='single';
                                    batDeleteMaterialForceConfirm(res,"/material/batchDeleteMaterialByIds",jsondata,type);
                                }else if(res && res.code == 600){
                                    $.messager.alert('删除提示', res.msg, 'error');
                                }else{
                                    $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                                }
                            }
                        },
                        //此处添加错误处理
                        error: function () {
                            $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                            return;
                        }
                    });
                }
            });
        }

        //批量删除商品
        function batDeleteMaterial() {
            var row = $('#tableData').datagrid('getChecked');
            if (row.length == 0) {
                $.messager.alert('删除提示', '没有记录被选中！', 'info');
                return;
            }
            if (row.length > 0) {
                $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条商品信息吗？', function (r) {
                    if (r) {
                        var ids = "";
                        for (var i = 0; i < row.length; i++) {
                            if (i == row.length - 1) {
                                ids += row[i].id;
                                break;
                            }
                            //alert(row[i].id);
                            ids += row[i].id + ",";
                        }
                        $.ajax({
                            type: "post",
                            url: "/material/batchDeleteMaterialByIds",
                            dataType: "json",
                            async: false,
                            data: ({
                                ids: ids
                            }),
                            success: function (res) {
                                if(res && res.code === 200) {
                                    $("#searchBtn").click();
                                    $(":checkbox").attr("checked", false);
                                } else {
                                    if(res && res.code == 601){
                                        var jsondata={};
                                        jsondata.ids=ids;
                                        jsondata.deleteType='2';
                                        var type='batch';
                                        batDeleteMaterialForceConfirm(res,"/material/batchDeleteMaterialByIds",jsondata,type);
                                    }else if(res && res.code == 600){
                                        $.messager.alert('删除提示', res.msg, 'error');
                                    }else{
                                        $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                                    }
                                }
                            },
                            //此处添加错误处理
                            error: function () {
                                $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                                return;
                            }
                        });
                    }
                });
            }
        }
        /**
         * 确认强制删除
         * */
        function batDeleteMaterialForceConfirm(res,url,jsondata,type) {
            $.messager.confirm('删除确认', res.msg, function (r) {
                if (r) {
                    $.ajax({
                        type: "post",
                        url: url,
                        dataType: "json",
                        data: (jsondata),
                        success: function (res) {
                            if(res && res.code == 200) {
                                $("#searchBtn").click();
                                if(type=='batch'){
                                    $(":checkbox").attr("checked", false);
                                }
                            }else if(res && res.code == 600){
                                $.messager.alert('删除提示', res.msg, 'error');
                            }else {
                                $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                            }
                        },
                        //此处添加错误处理
                        error: function () {
                            $.messager.alert('删除提示', '删除商品信息异常，请稍后再试！', 'error');
                            return;
                        }
                    });
                }
            });
        }

        //批量启用
        function setEnableFun() {
            var row = $('#tableData').datagrid('getChecked');
            if (row.length == 0) {
                $.messager.alert('启用提示', '没有记录被选中！', 'info');
                return;
            }
            if (row.length > 0) {
                $.messager.confirm('启用确认', '确定要启用选中的' + row.length + '条信息吗？', function (r) {
                    if (r) {
                        var ids = "";
                        for (var i = 0; i < row.length; i++) {
                            if (i == row.length - 1) {
                                ids += row[i].id;
                                break;
                            }
                            ids += row[i].id + ",";
                        }
                        $.ajax({
                            type: "post",
                            url: "/material/batchSetEnable",
                            dataType: "json",
                            async: false,
                            data: ({
                                enabled: true,
                                materialIDs: ids
                            }),
                            success: function (res) {
                                if(res && res.code === 200) {
                                    $("#searchBtn").click();
                                    $(":checkbox").attr("checked", false);
                                } else {
                                    $.messager.alert('启用提示', '启用信息失败，请稍后再试！', 'error');
                                }
                            },
                            //此处添加错误处理
                            error: function () {
                                $.messager.alert('启用提示', '启用信息异常，请稍后再试！', 'error');
                                return;
                            }
                        });
                    }
                });
            }
        }

        //批量禁用
        function setDisEnableFun() {
            var row = $('#tableData').datagrid('getChecked');
            if (row.length == 0) {
                $.messager.alert('禁用提示', '没有记录被选中！', 'info');
                return;
            }
            if (row.length > 0) {
                $.messager.confirm('禁用确认', '确定要禁用选中的' + row.length + '条信息吗？', function (r) {
                    if (r) {
                        var ids = "";
                        for (var i = 0; i < row.length; i++) {
                            if (i == row.length - 1) {
                                ids += row[i].id;
                                break;
                            }
                            ids += row[i].id + ",";
                        }
                        $.ajax({
                            type: "post",
                            url: "/material/batchSetEnable",
                            dataType: "json",
                            async: false,
                            data: ({
                                enabled: false,
                                materialIDs: ids
                            }),
                            success: function (res) {
                                if(res && res.code === 200) {
                                    $("#searchBtn").click();
                                    $(":checkbox").attr("checked", false);
                                } else {
                                    $.messager.alert('禁用提示', '禁用信息失败，请稍后再试！', 'error');
                                }
                            },
                            //此处添加错误处理
                            error: function () {
                                $.messager.alert('禁用提示', '禁用信息异常，请稍后再试！', 'error');
                                return;
                            }
                        });
                    }
                });
            }
        }

        //导入数据
        function setInputFun() {
            //IE下不允许编辑 input=file的值  解决思路：重新克隆input=file，把这个input元素复制一个，然后将原来的删除。
            //在IE下复制元素的时候，其中的值是不会被复制的，所以就达到了清空文件域的目的了。
            //而在Firefox下，其中的值也会被一同复制，清空一下就做到兼容
            var fileUploadInput = $("#materialFile");
            fileUploadInput.after(fileUploadInput.clone().val(""));
            fileUploadInput.remove();
            $("#isCheck").val(1);
            $('#importExcelDlg').dialog('open').dialog('setTitle', '导入商品信息');
            $(".window-mask").css({width: webW - 20, height: webH});
            $("#materialFile").focus();
        }

        //导出数据
        function setOutputFun() {
            var name = $.trim($("#searchName").val());
            var model = $.trim($("#searchModel").val());
            window.location.href = "/material/exportExcel?browserType=" + getOs()
                + "&name=" + name + "&model=" + model + "&categoryIds=" + types;
        }
        //增加
        var url;
        var materialID = 0;
        //保存编辑前的名称/型号/颜色
        var oldName = "";
        var oldModel = "";
        var oldColor = "";
        var oldUnit = "";
        var oldManyUnit = "";

        //根据商品属性架子啊
        function bindMProperty() {
            var trMfrs = $(".tr-mfrs").html();
            trMfrs = '<tr class="tr-mfrs">' + trMfrs + '</tr>';
            var trOtherField1 = $(".tr-otherField1").html();
            trOtherField1 = '<tr class="tr-otherField1">' + trOtherField1 + '</tr>';
            var trOtherField2 = $(".tr-otherField2").html();
            trOtherField2 = '<tr class="tr-otherField2">' + trOtherField2 + '</tr>';
            var trOtherField3 = $(".tr-otherField3").html();
            trOtherField3 = '<tr class="tr-otherField3">' + trOtherField3 + '</tr>';
            //表格模板变更
            $(".tb-other-info").html("");
            for (var i = 0; i < mPropertyList.length; i++) {
                if (mPropertyList[i].nativename === "制造商") {
                    $(".tb-other-info").append(trMfrs);
                    $(".tr-mfrs td").first().text(mPropertyList[i].anothername);
                    if (mPropertyList[i].enabled) {
                        $(".tr-mfrs").show();
                    }
                    else {
                        $(".tr-mfrs").hide();
                    }
                }
                if (mPropertyList[i].nativename === "自定义1") {
                    $(".tb-other-info").append(trOtherField1);
                    $(".tr-otherField1 td").first().text(mPropertyList[i].anothername);
                    if (mPropertyList[i].enabled) {
                        $(".tr-otherField1").show();
                    }
                    else {
                        $(".tr-otherField1").hide();
                    }
                }
                if (mPropertyList[i].nativename === "自定义2") {
                    $(".tb-other-info").append(trOtherField2);
                    $(".tr-otherField2 td").first().text(mPropertyList[i].anothername);
                    if (mPropertyList[i].enabled) {
                        $(".tr-otherField2").show();
                    }
                    else {
                        $(".tr-otherField2").hide();
                    }
                }
                if (mPropertyList[i].nativename === "自定义3") {
                    $(".tb-other-info").append(trOtherField3);
                    $(".tr-otherField3 td").first().text(mPropertyList[i].anothername);
                    if (mPropertyList[i].enabled) {
                        $(".tr-otherField3").show();
                    }
                    else {
                        $(".tr-otherField3").hide();
                    }
                }
            }
        }

        function addMaterial() {
            if(checkPower()){
                return;
            }
            $('#materialFM').form('clear');
            initTableDataExtend('add','0');
            bindMProperty(); //根据商品属性绑定
            $("#EnableSerialNumber").val('0');
            $('#materialDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加商品信息');
            $(".window-mask").css({width: webW, height: webH});
            $("#manyUnitCheck").prop("checked", false);
            $("#manyUnit").val(""); //置空
            //当前为不选中状态
            $("#Unit").show();
            $("#manyUnit").hide();
            //选中基本资料tab
            $("#materialFM #tt .tabs li").first().click();
            oldName = "";
            oldModel = "";
            oldColor = "";
            oldStandard = "";
            oldMfrs = "";
            oldOtherField1 = "";
            oldOtherField2 = "";
            oldOtherField3 = "";
            oldUnit = "";
            oldManyUnit = "";
            materialID = 0;
            url = '/material/add';
            initDepotList(materialID); //加载仓库列表页面
        }

        //商品价格扩展
        function initTableDataExtend(type,materialId){
            $('#materialExtendData').datagrid({
                height:200,
                rownumbers: false,
                //动画效果
                animate:false,
                //选中单行
                singleSelect : true,
                collapsible:false,
                selectOnCheck:false,
                //单击行是否选中
                checkOnSelect : false,
                pagination: false,
                //交替出现背景
                striped : true,
                showFooter: true,
                //loadFilter: pagerFilter,
                onClickRow: onClickRow,
                columns:[[
                    { field: 'Id',field: 'Id',width:35,align:"center",checkbox:true},
                    { title: '条码',field: 'BarCode',editor:'validatebox',width:200},
                    { title: '单位',field: 'CommodityUnit',editor:'validatebox',width:70},
                    { title: '采购价',field: 'PurchaseDecimal',editor:'validatebox',width:70},
                    { title: '零售价',field: 'CommodityDecimal',editor:'validatebox',width:70},
                    { title: '销售价',field: 'WholesaleDecimal',editor:'validatebox',width:70},
                    { title: '最低售价',field: 'LowDecimal',editor:'validatebox',width:70},
                ]],
                toolbar:[
                    {
                        id:'append',
                        text:'新增',
                        iconCls:'icon-add',
                        handler:function()
                        {
                            append(1); //新增
                        }
                    },
                    {
                        id:'delete',
                        text:'删除',
                        iconCls:'icon-remove',
                        handler:function()
                        {
                            removeit(); //删除
                        }
                    },
                    {
                        id:'reject',
                        text:'撤销',
                        iconCls:'icon-undo',
                        handler:function()
                        {
                            reject(); //撤销
                        }
                    },
                    {
                        id:'tips',
                        text:'【注意：基础单位必须排在第一个】'
                    }
                ],
                onBeforeDrag : function(row) {
                    //首次进来可以拖动
                    if (editIndex !== undefined) {
                        return false;
                    }
                },
                onLoadSuccess:function(){
                    $(this).datagrid('enableDnd');
                },
                onLoadError:function()
                {
                    $.messager.alert('页面加载提示','页面加载异常，请稍后再试！','error');
                    return;
                }
            });
            $.ajax({
                type:"get",
                url: '/materialsExtend/getDetailList',
                data: {
                    materialId: materialId
                },
                dataType: "json",
                success: function (res) {
                    if(res && res.code === 200) {
                        $("#materialExtendData").datagrid('loadData',res.data);
                    }
                },
                error:function() {
                    $.messager.alert('查询提示','查询数据后台异常，请稍后再试！','error');
                }
            });
            dgResize();
        }

        //检查商品名称是否存在 ++ 重名无法提示问题需要跟进
        function checkIsExist() {
            var mName = $.trim($("#Name").val());
            var mModel = $.trim($("#Model").val());
            var mColor = $.trim($("#Color").val());
            var mStandard = $.trim($("#Standard").val());
            var mMfrs = $.trim($("#Mfrs").val());
            var mOtherField1 = $.trim($("#OtherField1").val());
            var mOtherField2 = $.trim($("#OtherField2").val());
            var mOtherField3 = $.trim($("#OtherField3").val());
            var mUnit = $.trim($("#Unit").val());
            var mUnitId = $.trim($("#manyUnit").val());
            //表示是否存在 true == 存在 false = 不存在
            var flag = false;
            //开始ajax名称检验，不能重名(新增或编辑)
            if (materialID == 0 || (materialID != 0 && (mName != oldName || mModel != oldModel
                || mColor != oldColor || mStandard != oldStandard || mMfrs != oldMfrs
                || mOtherField1 != oldOtherField1 || mOtherField2 != oldOtherField2 || mOtherField3 != oldOtherField3
                || mUnit != oldUnit || mUnitId != oldManyUnit))) {
                $.ajax({
                    type: "get",
                    url: "/material/checkIsExist",
                    dataType: "json",
                    async: false,
                    data: ({
                        id: materialID,
                        name: mName,
                        model: mModel,
                        color: mColor,
                        standard: mStandard,
                        mfrs: mMfrs,
                        otherField1: mOtherField1,
                        otherField2: mOtherField2,
                        otherField3: mOtherField3,
                        unit: mUnit,
                        unitId: mUnitId
                    }),
                    success: function (res) {
                        if(res && res.code === 200) {
                            if(res.data && res.data.status) {
                                flag = res.data.status;
                                if (flag) {
                                    $.messager.alert('提示', '商品信息已经存在', 'info');
                                    return;
                                }
                            }
                        }
                    },
                    //此处添加错误处理
                    error: function () {
                        $.messager.alert('提示', '检查商品信息是否存在异常，请稍后再试！', 'error');
                        return;
                    }
                });
            }
            return flag;
        }

        //保存信息
        $("#saveMaterial").off("click").on("click", function () {
            if (!$('#Name').val()) {
                $.messager.alert('提示', '品名不能为空！', 'warning');
                return;
            }
            if(!$("#Unit").val() && !$("#manyUnit").val()) {
                $.messager.alert('提示', '单位为必填项！', 'warning');
                return;
            }
            if ($("#materialExtendData").datagrid('getRows').length==0){
                $.messager.alert('提示', '请录入条码及相关信息！', 'warning');
                return;
            }
            if (checkIsExist()) {
                return;
            }
            //构造价格列表json
            var priceStrategy = [];
            var basicList = {};
            var otherList = {};
            basicList.Unit = $("#basicUnit").text();
            basicList.RetailPrice = $("#basicRetailPrice").val();
            basicList.LowPrice = $("#basicLowPrice").val();
            basicList.PresetPriceOne = $("#basicPresetPriceOne").val();
            basicList.PresetPriceTwo = $("#basicPresetPriceTwo").val();
            basicList.EnableSerialNumber=$("#EnableSerialNumber").val();
            otherList.Unit = $("#otherUnit").text();
            otherList.RetailPrice = $("#otherRetailPrice").val();
            otherList.LowPrice = $("#otherLowPrice").val();
            otherList.PresetPriceOne = $("#otherPresetPriceOne").val();
            otherList.PresetPriceTwo = $("#otherPresetPriceTwo").val();

            var basic = {};
            var other = {};
            basic.basic = basicList;
            other.other = otherList;
            priceStrategy.push(basic);
            priceStrategy.push(other);

            var objInfo = $("#materialFM").serializeObject();
            objInfo.UnitId = $("#manyUnit").val();
            objInfo.CategoryId =$("#parentid").val();
            objInfo.PriceStrategy = JSON.stringify(priceStrategy);  //价格列表
            //初始库存信息
            var stockArr = [];
            $("#initDepot input").each(function () {
                var id = $(this).attr("data-id");
                var val = $(this).val();
                var stockObj = {};
                stockObj.depotId = id;
                stockObj.number = val;
                stockArr.push(stockObj);
            });
            objInfo = accept(objInfo); //商品价格扩展
            objInfo.stock = JSON.stringify(stockArr);
            $.ajax({
                type: "post",
                url: url,
                dataType: "json",
                async: false,
                data: ({
                    info: JSON.stringify(objInfo)
                }),
                success: function(res) {
                    if(res && res.code === 200) {
                        $('#materialDlg').dialog('close');
                        //加载完以后重新初始化
                        var opts = $("#tableData").datagrid('options');
                        showMaterialDetails(opts.pageNumber, opts.pageSize);
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('提示', '保存商品信息异常，请稍后再试！', 'error');
                    return;
                }
            });
        });

        var mId = 0, mName = "";
        //根据id查询类型信息
        function findByTypeId(Id) {
            $.ajax({
                type: "get",
                url: "/materialCategory/findById",
                data: ({
                    id: Id
                }),
                //设置为同步
                async: false,
                dataType: "json",
                success: function (res) {
                    if(res && res.code === 200) {
                        mId = res.data.parentId;
                        mName = res.data.name;
                    }
                }
            });
        }

        //编辑信息
        function editMaterial(index) {
            var rowsdata = $("#tableData").datagrid("getRows")[index];
            bindMProperty(); //根据商品属性绑定
            $("#Name").focus().textbox("setValue", rowsdata.name);
            $("#EnableSerialNumber").val(rowsdata.enableserialnumber=='1'?'1':'0');
            //商品类别id
            $("#parentid").val(rowsdata.categoryid);
            //商品类别名称
            $("#parentName").textbox("setValue", rowsdata.categoryName);
            mId = rowsdata.categoryid;
            mName = rowsdata.categoryName;
            $("#SafetyStock").textbox("setValue", rowsdata.safetystock);
            $("#Model").textbox("setValue", rowsdata.model);
            $("#Standard").val(rowsdata.standard);
            $("#Color").val(rowsdata.color);
            $("#Mfrs").val(rowsdata.mfrs);
            $("#OtherField1").val(rowsdata.otherfield1);
            $("#OtherField2").val(rowsdata.otherfield2);
            $("#OtherField3").val(rowsdata.otherfield3);
            $("#Unit").val(rowsdata.unit);
            // $("#RetailPrice").textbox("setValue", rowsdata.retailprice);
            // $("#LowPrice").textbox("setValue", rowsdata.lowprice);
            // $("#PresetPriceOne").textbox("setValue", rowsdata.presetpriceone);
            // $("#PresetPriceTwo").textbox("setValue", rowsdata.presetpricetwo);
            $("#Remark").textbox("setValue", rowsdata.remark);
            $("#manyUnit").val(rowsdata.unitid);
            if (rowsdata.unitid) {
                $("#manyUnitCheck").prop("checked", true);
                //当前为选中状态
                $("#Unit").hide();
                $("#manyUnit").show();
                var selectItem = $("#manyUnit").children('option:selected').text();
                if (selectItem !== "(空)") {
                    var firstOutUnitOptions = selectItem.substring(0, selectItem.indexOf("("));
                    var firstOptions = "";
                    var arr = firstOutUnitOptions.split(",");
                    var basic = '<option value="' + arr[0] + '">' + arr[0] + '</option>';
                    var other = '<option value="' + arr[1] + '">' + arr[1] + '</option>';
                    firstOptions = firstOptions + basic + other;
                    $("#FirstOutUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选销售单位
                    $("#FirstInUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选采购单位
                    $("#FirstOutUnit").val(rowsdata.firstoutunit);//首选销售单位
                    $("#FirstInUnit").val(rowsdata.firstinunit);//首选采购单位
                }
            }
            else {
                $("#manyUnitCheck").prop("checked", false);
                //当前为不选中状态
                $("#Unit").show();
                $("#manyUnit").hide();
            }
            initTableDataExtend('edit',rowsdata.id);
            oldName = rowsdata.name;
            oldModel = rowsdata.model;
            oldColor = rowsdata.color;
            oldStandard = rowsdata.standard;
            oldMfrs = rowsdata.mfrs;
            oldOtherField1 = rowsdata.otherfield1;
            oldOtherField2 = rowsdata.otherfield2;
            oldOtherField3 = rowsdata.otherfield3;
            oldUnit = rowsdata.unit;
            oldManyUnit = rowsdata.unitid;
            $('#materialDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;编辑商品信息');
            $(".window-mask").css({width: webW, height: webH});
            materialID = rowsdata.id;
            //焦点在名称输入框==定焦在输入文字后面
            $("#Name").val("").focus().val(rowsdata.name);
            //选中基本资料tab
            $("#materialFM #tt .tabs li").first().click();
            url = '/material/update?id=' + rowsdata.id;
            initDepotList(rowsdata.id); //加载仓库列表页面
        }

        function initDepotList(mId) {
            $.ajax({
                type: "get",
                url: "/depot/getAllListWithStock?mId=" + mId,
                dataType: "json",
                async: false,
                success: function (res) {
                    if (res && res.code == 200) {
                        var json = {};
                        json.depotList = res.data;
                        $.ajax({
                            type: "get",
                            url: "../../../pages/template/init_depot_list.html?2121",
                            async: false,
                            success: function (tem) {
                                if (tem) {
                                    var template = Handlebars.compile(tem);
                                    var htmlValue = template(json);
                                    $("#initDepot").html(htmlValue);
                                }
                            }
                        });
                    }
                }
            });
        }

        //搜索处理
        $("#searchBtn").unbind().bind({
            click: function () {
                showMaterialDetails(1, initPageSize);
                var opts = $("#tableData").datagrid('options');
                var pager = $("#tableData").datagrid('getPager');
                opts.pageNumber = 1;
                opts.pageSize = initPageSize;
                pager.pagination('refresh', {
                    pageNumber: 1,
                    pageSize: initPageSize
                });
            }
        });

        function showMaterialDetails(pageNo, pageSize) {
            var name = $.trim($("#searchName").val());
            var standard = $.trim($("#searchStandard").val());
            var model = $.trim($("#searchModel").val());
            $.ajax({
                type: "get",
                url: "/material/list",
                dataType: "json",
                data: ({
                    search: JSON.stringify({
                        name: name,
                        standard: standard,
                        model: model,
                        categoryIds: types,
                        mpList: mPropertyListShort
                    }),
                    currentPage: pageNo,
                    pageSize: pageSize
                }),
                success: function (res) {
                    if(res && res.code === 200){
                        if(res.data && res.data.page) {
                            $("#tableData").datagrid('loadData', res.data.page);
                        }
                    }
                },
                //此处添加错误处理
                error: function () {
                    $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
                    return;
                }
            });
        }

        //重置按钮
        $("#searchResetBtn").unbind().bind({
            click: function () {
                $("#searchParentName").textbox("clear");
                $("#searchParentId").val("");
                $("#searchName").textbox("clear");
                $("#searchStandard").textbox("clear");
                $("#searchModel").textbox("clear");
                types = ""; //清空类别
                //加载完以后重新初始化
                $("#searchBtn").click();
            }
        });

        //绑定事件
        function bindEvent() {
            //下拉绑定事件
            $.ajax({
                type: "get",
                url: "/unit/list",
                dateType: "json",
                data: ({
                    currentPage: 1,
                    pageSize: 100
                }),
                success: function (res) {
                    res = JSON.parse(res);
                    if(res && res.code === 200){
                        if(res.data && res.data.page) {
                            res = res.data.page.rows;
                            var options = "";
                            console.log(res.length);
                            if (res.length) {
                                for (var i = 0; i < res.length; i++) {
                                    options += '<option value="' + res[i].id + '">' + res[i].uname + '</option>';
                                }
                                $("#manyUnit").empty().append('<option value="">(空)</option>').append(options);
                                //下拉框事件
                                $("#manyUnit").off("change").on("change", function () {
                                    var selectItem = $(this).children('option:selected').text();
                                    if (selectItem !== "(空)") {
                                        var firstOutUnitOptions = selectItem.substring(0, selectItem.indexOf("("));
                                        multiple = selectItem.substring(selectItem.indexOf(":") + 1).replace(")", "");  //倍数
                                        var firstOptions = "";
                                        var arr = firstOutUnitOptions.split(",");
                                        var basic = '<option value="' + arr[0] + '">' + arr[0] + '</option>';
                                        var other = '<option value="' + arr[1] + '">' + arr[1] + '</option>';
                                        firstOptions = firstOptions + basic + other;
                                        $("#FirstOutUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选销售单位
                                        $("#FirstInUnit").empty().append('<option value="">(空)</option>').append(firstOptions); //首选采购单位
                                        $("#basicUnit").text(arr[0]);
                                        $("#otherUnit").text(arr[1]);
                                    }
                                });
                            }
                        }
                    }
                },
                error: function () {
                    $.messager.alert('查询提示', '查询数据后台异常，请稍后再试！', 'error');
                    return;
                }
            });

            //导入excel表格
            $("#saveimport").off("click").on("click", function () {
                if ($("#materialFile").val().length == 0) {
                    $.messager.alert('提示', '请选择文件！', 'info');
                    return;
                }
                $("#importExcelFM").submit();
                $('#importExcelDlg').dialog('close');

                $.messager.progress({
                    title: '请稍候',
                    msg: '数据处理ing...'
                });
                setTimeout(function () {
                    $.messager.progress('close');
                    var opts = $("#tableData").datagrid('options');
                    showMaterialDetails(opts.pageNumber, opts.pageSize);
                }, 3300);
            });
        }

        //商品类别选择
        function materialCategoryDlgFun() {
            $('#forSelectMaterialCategoryDlg').dialog({
                title: '商品类别选择',
                width: webW/2,
                height: webH/2,
                closed: false,
                cache: false,
                href: '/pages/materials/materialcategory_forselect.html',
                modal: true,
                resizable:true
            });
        }

        //查询父级商品类别
        $("#lookForSelectMaterialCategory").on("click", function () {
            clickType = "selectBtn";
            materialCategoryDlgFun();
        });
        $("#lookForMaterialCategory").on("click", function () {
            clickType = "editBtn";
            materialCategoryDlgFun();
        });

        //单击
        function onClickRow(index) {
            if (editIndex != index) {
                if (endEditing()) {
                    $('#materialExtendData').datagrid('selectRow', index)
                        .datagrid('beginEdit', index);
                    editIndex = index;
                } else {
                    $('#materialExtendData').datagrid('selectRow', editIndex);
                }
            }
        }

        //结束编辑
        function endEditing() {
            if (editIndex == undefined) { return true }
            if ($('#materialExtendData').datagrid('validateRow', editIndex)) {
                $('#materialExtendData').datagrid('endEdit', editIndex);
                editIndex = undefined;
                return true;
            } else {
                return false;
            }
        }

        //新增
        function append(type)  {
            if (endEditing()) {
                $('#materialExtendData').datagrid('appendRow', {});
                editIndex = $('#materialExtendData').datagrid('getRows').length - 1;
                $('#materialExtendData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
                var ed = $('#materialExtendData').datagrid('getEditor', {index:editIndex,field:'BarCode'});
                if(type ==1) {
                    if(thisBarCode) {
                        thisBarCode = Number(thisBarCode)+1;
                    } else {
                        thisBarCode = "1000";
                    }
                }
                $(ed.target).val(thisBarCode);
            }
        }

        //查询最新条码
        function getMaxBarCode(){
            var barCode = "";
            $.ajax({
                type:"get",
                url: '/material/getMaxBarCode',
                async: false,
                dataType: "json",
                success: function (res) {
                    if(res && res.code === 200) {
                        barCode = res.data.barCode;
                    }
                },
                error:function() {
                    $.messager.alert('查询提示','查询数据后台异常，请稍后再试！','error');
                }
            });
            return barCode;
        }

        //删除
        function removeit() {
            if (editIndex == undefined) { return }
            $('#materialExtendData').datagrid('cancelEdit', editIndex)
                .datagrid('deleteRow', editIndex);
            editIndex = undefined;
        }

        //撤销
        function reject() {
            $('#materialExtendData').datagrid('rejectChanges');
            editIndex = undefined;
        }

        //判断
        function CheckData() {
            var row = $('#materialExtendData').datagrid('getRows');
            var totalRowNum = "";
            var totalBarCodeOverNum = "";
            for (var i = 0; i < row.length; i++) {
                if (row[i].BarCode == "") {
                    totalRowNum += (i + 1) + "、";
                }
                if (row[i].CommodityUnit == "") {
                    totalRowNum += (i + 1) + "、";
                }
                if (row[i].BarCode.length > 15) {
                    totalBarCodeOverNum += (i + 1) + "、";
                }
            }
            if (totalRowNum != "") {
                var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1);
                $.messager.alert('提示',"第" + totalRowNum + "行数据填写不完整！",'info');
                return false;
            }
            if (totalBarCodeOverNum != "") {
                var totalBarCodeOverNum = totalBarCodeOverNum.substring(0, totalBarCodeOverNum.length - 1);
                $.messager.alert('提示',"第" + totalBarCodeOverNum + "行条码长度超过15位！",'info');
                return false;
            }
            return true;
        }

        //商品价格扩展
        function accept(objInfo) {
            append(0);
            removeit();
            //在更新商品信息的时候更新排序
            var sortList = [];
            //判断单位是否填写正确
            var meList = $("#materialExtendData").datagrid('getRows');
            var unit = $("#Unit").val();
            var manyUnitselected = $("#manyUnit").find("option:selected").text();
            for(var i=0; i<meList.length; i++) {
                var commodityUnit = meList[i].CommodityUnit;
                if(unit) {
                    if(commodityUnit != unit) {
                        $.messager.alert('提示', '单位<b>' + commodityUnit + '</b>不包含在<b>' + unit + '</b>中！', 'warning');
                        return;
                    }
                } else if(manyUnitselected) {
                    var manyUnitInfo = manyUnitselected.substring(0, manyUnitselected.indexOf("("));
                    var unitArr = manyUnitInfo.split(",");
                    if(commodityUnit != unitArr[0] && commodityUnit != unitArr[1]) {
                        $.messager.alert('提示', '单位<b>' + commodityUnit + '</b>不包含在<b>' + manyUnitInfo+ '</b>中！', 'warning');
                        return;
                    }
                }
            }
            for(var i=0; i<meList.length;i++) {
                var sortObj = {};
                if(meList[i].Id) {
                    sortObj.id=meList[i].Id;
                    if(i==0) {
                        sortObj.defaultFlag=1;
                    } else {
                        sortObj.defaultFlag=0;
                    }
                    sortList.push(sortObj);
                }
            }
            objInfo.sortList = sortList;
            if ($("#materialExtendData").datagrid('getChanges').length) {
                if (!CheckData())
                    return false;
                objInfo.inserted = $("#materialExtendData").datagrid('getChanges', "inserted");
                objInfo.deleted = $("#materialExtendData").datagrid('getChanges', "deleted");
                objInfo.updated = $("#materialExtendData").datagrid('getChanges', "updated");
            }
            if (endEditing()) {
                $('#materialExtendData').datagrid('acceptChanges');
            }
            return objInfo;
        }
    </script>
</body>
</html>
